//
//  CityManager.h
//  LzzizDemo
//
//  Created by xbnzd on 16/11/8.
//  Copyright © 2016年 xbnzd. All rights reserved.
//

#import <Foundation/Foundation.h>
@class CitysModel;

@interface CityManager : NSObject


/**
 当前定位的城市
 */
@property (nonatomic, strong) CitysModel *locationCityModel;


/**
 当前选择的城市
 */
@property (nonatomic ,strong) CitysModel *currentShowCityModel;


/**
 用于城市列表展示的数据,包含两级,一级为省,二级为城市
 */
@property (nonatomic, strong) NSArray *dataArrForTableView;


/**
 返回用于搜索联想的数组.是所有城市的数组,不包含省
 */
@property (nonatomic, strong) NSArray *dataArrForSearchCityRemind;


/**
 当前键盘语言.第一版只考虑系统语言.所以,键盘语言与系统语言一致
 */
@property (nonatomic, assign) KeyBoardLanguage boardLanguage;

+ (instancetype)shareManager;
/**
 返回用于城市列表展示的数据源

 @return <#return value description#>
 */
+ (NSArray *)returnDataArrForTableView;


/**
 返回用于搜索联想的数据数组
 
 */
+ (NSArray *)returnDataArrForSearchRemind;

/**
 根据关键字搜索,并返回相应的结果数据源

 @param keyStr <#keyStr description#>
 @return <#return value description#>
 */
+ (NSArray *)searchRemindwithKey:(NSString *)keyStr;


/**
 根据关键字查询出相应的model

 @param keyStr 关键字
 @return <#return value description#>
 */
+ (CitysModel *)searchTheModelWithKeyWord:(NSString *)keyStr;



/**
 定位失败时,返回默认的城市

 @return <#return value description#>
 */
+ (CitysModel *)returnDefaultCityWhenLocationFailed;



/**
 写入城市数据====第一版数据写死到本地.弃用
 
 @param provinceArr 返回的省的列表,包含城市列表
 */
//+ (void)writeCityListWithArr:(NSArray *)provinceArr;


/**
 检查本地是否有城市列表数据.有的话将不再重新写入

 @return <#return value description#>
 */
//+ (BOOL)checkHaveCityList;



@end
